home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
p_man
/
cat3
/
f90
/
shiftr.z
/
shiftr
Wrap
Text File
|
1998-10-30
|
3KB
|
73 lines
SHIFTR(3I) Last changed: 1-6-98
NNAAMMEE
SSHHIIFFTTRR - Performs a right shift with zero fill
SSYYNNOOPPSSIISS
SSHHIIFFTTRR (([II==]_i,,[JJ==]_j))
IIMMPPLLEEMMEENNTTAATTIIOONN
UNICOS, UNICOS/mk, and IRIX systems
SSTTAANNDDAARRDDSS
CF90 and MIPSpro 7 Fortran 90 compiler extension to Fortran 90
DDEESSCCRRIIPPTTIIOONN
The SSHHIIFFTTRR intrinsic function performs a right shift with zero fill of
the _i by _j bits. It accepts the following arguments:
_i The value to be shifted. _i can be of type Boolean, integer,
real, or Cray pointer.
_j The number of bits to shift the value. Must be of type integer
or Boolean. _j must be within the range 0 <= _j <=_s_i_z_e, where _s_i_z_e
is the size, in bits, of _i. That is, if _i is a 64-bit object, _j
must be within the range 0 <= _j <= 64.
On UNICOS systems, an object is 64 bits. On UNICOS/mk systems, an
object is 32 bits or 64 bits. On IRIX systems, an object is 8 bits,
16 bits, 32 bits, or 64 bits.
SSHHIIFFTTRR is an elemental function. The name of this intrinsic cannot be
passed as an argument.
NNOOTTEESS
This is an outmoded routine. Refer to the _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e
_M_a_n_u_a_l, _V_o_l_u_m_e _2, publication SR-3903, for information about outmoded
features and their preferred standard alternatives.
The bit representation of the logical data type is not consistent
among Cray Research systems. For further details, see your compiler's
reference manuals.
RREETTUURRNN VVAALLUUEESS
SSHHIIFFTTRR returns a value of type Boolean on UNICOS and UNICOS/mk
systems. It returns an integer result on IRIX systems.
EEXXAAMMPPLLEESS
The following section of Fortran code shows the SSHHIIFFTTRR function used
in the case where _i is of type integer. The bit pattern of _i and the
bit pattern of the result are also given. For simplicity, a 16-bit
object is used.
INTEGER I1, I2, I3
...
I2 = 5
I3 = SHIFTR(I1,I2)
---------------------------------------------------------------
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
---------------------------------------------------------------
I1 (_i)
---------------------------------------------------------------
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
---------------------------------------------------------------
I3 (result)
SSEEEE AALLSSOO
_I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2138, for the
printed version of this man page.